<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../../print.css" type="text/css" media="print">
<meta content="DataFilterBase,com.fnicollet.datafilter.filter.DataFilterBase,REFRESH_DATA_PROVIDER,_parameters,filterKeys,filterOperator,apply,applyConstraints,onFilterActiveChanged,onFilterInvertChanged,onFilterKeysChanged,onFilterOperatorChanged,onFilterValuesChanged,refreshDataProvider" name="keywords">
<title>com.fnicollet.datafilter.filter.DataFilterBase</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'DataFilterBase - DataFilterLib';
				var baseRef = '../../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">DataFilterLib, provides advanced MXML filtering for ArrayCollection</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../index-list.html')" href="../../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../../index.html?com/fnicollet/datafilter/filter/DataFilterBase.html&amp;com/fnicollet/datafilter/filter/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;DataFilterBase</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a>&nbsp;| <a href="#eventSummary">Events</a>&nbsp;| <a href="#constantSummary">Constants</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class DataFilterBase"); titleBar_setSubNav(true,true,false,false,true,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">com.fnicollet.datafilter.filter</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class DataFilterBase</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Inheritance</td><td class="inheritanceList">DataFilterBase <img class="inheritArrow" alt="Inheritance" title="Inheritance" src="../../../../images/inherit-arrow.gif"> flash.events.EventDispatcher</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Implements</td><td><a href="IDataFilter.html">IDataFilter</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Subclasses</td><td><a href="../filter/DataFilterInterval.html">DataFilterInterval</a>, <a href="../filter/DataFilterSingleValue.html">DataFilterSingleValue</a></td>
</tr>
</table>
<p></p>
   Abstract class on which all filters are based.
   Gives a basic implementation of IDataFilter and handles DataFilterParameters changes (refresh).
   Shouldn't be instanciated on his own
   <p></p>
<br>
<hr>
</div>
<a name="propertySummary"></a><a name="protectedPropertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Properties</div>
<table id="summaryTableProtectedProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#filterKeys">filterKeys</a> : Array<div class="summaryTableDescription">[read-only]
     Shortcut to get the filter keys from the parameters
     </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#filterOperator">filterOperator</a> : String<div class="summaryTableDescription">[read-only]
     Shortcut to get the filter operator from the parameters
     </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#_parameters">_parameters</a> : <a href="../filter/DataFilterParameters.html">DataFilterParameters</a> = null<div class="summaryTableDescription">
     DataFilterParameters passed in the constructor.</div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#DataFilterBase()">DataFilterBase</a>(parameters:<a href="DataFilterParameters.html">DataFilterParameters</a>)</div>
<div class="summaryTableDescription">
          </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#apply()">apply</a>(item:Object):Boolean</div>
<div class="summaryTableDescription">
     Basic implementation of the interface.</div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#refreshDataProvider()">refreshDataProvider</a>(event:Event = null):void</div>
<div class="summaryTableDescription">
     Dispatches an event to inform the DataFilterSet that the dataprovider needs to be refreshed
     </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
</table>
</div>
<a name="protectedMethodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Methods</div>
<table id="summaryTableProtectedMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#applyConstraints()">applyConstraints</a>(value:Boolean):Boolean</div>
<div class="summaryTableDescription">
     Needs to be called before returning the apply() method result in classes that sub-class DataFilterBase.</div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#onFilterActiveChanged()">onFilterActiveChanged</a>(event:Event = null):void</div>
<div class="summaryTableDescription">
     Event dispatched when the active property change
     </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#onFilterInvertChanged()">onFilterInvertChanged</a>(event:Event = null):void</div>
<div class="summaryTableDescription">
     Event dispatched when the invert property change
     </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#onFilterKeysChanged()">onFilterKeysChanged</a>(event:Event = null):void</div>
<div class="summaryTableDescription">
     Event dispatched when the keys change
     </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#onFilterOperatorChanged()">onFilterOperatorChanged</a>(event:Event = null):void</div>
<div class="summaryTableDescription">
     Event dispatched when the filter operator change
     </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#onFilterValuesChanged()">onFilterValuesChanged</a>(event:Event = null):void</div>
<div class="summaryTableDescription">
     Event dispatched when the values change
     </div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
</table>
</div>
<a name="eventSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Events</div>
<table id="summaryTableEvent" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Event</th><th>Summary</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#event:refreshDataProvider">refreshDataProvider</a>
</div>
</td><td class="summaryTableDescription summaryTableCol">&nbsp;</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
</table>
</div>
<a name="constantSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Constants</div>
<table id="summaryTableConstant" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Constant</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#REFRESH_DATA_PROVIDER">REFRESH_DATA_PROVIDER</a> : String = "refreshDataProvider"<div class="summaryTableDescription">[static]</div>
</td><td class="summaryTableOwnerCol">DataFilterBase</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="filterKeys"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">filterKeys</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>filterKeys:Array</code>&nbsp;&nbsp;[read-only]<p>
     Shortcut to get the filter keys from the parameters
     </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;protected function get filterKeys():Array</code>
<br>
</div>
<a name="filterOperator"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">filterOperator</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>filterOperator:String</code>&nbsp;&nbsp;[read-only]<p>
     Shortcut to get the filter operator from the parameters
     </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;protected function get filterOperator():String</code>
<br>
</div>
<a name="_parameters"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">_parameters</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected var _parameters:<a href="../filter/DataFilterParameters.html">DataFilterParameters</a> = null</code><p>
     DataFilterParameters passed in the constructor. Contains the configuration of the DataFilter
     </p><p>The default value is <code></code>.</p>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="DataFilterBase()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">DataFilterBase</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function DataFilterBase(parameters:<a href="DataFilterParameters.html">DataFilterParameters</a>)</code><p>
          </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">parameters</span>:<a href="DataFilterParameters.html">DataFilterParameters</a></code> &mdash; Configuration object that contains the informations for the instanciation and the binding
     </td>
</tr>
</table>
</div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="apply()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">apply</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function apply(item:Object):Boolean</code><p>
     Basic implementation of the interface. Should be implemented by sub-classes
     </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">item</span>:Object</code> &mdash; Item of the data provider that will be filtered (or not)
     </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Boolean</code> &mdash; false if the value should be filtered
     </td>
</tr>
</table>
</div>
<a name="applyConstraints()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">applyConstraints</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function applyConstraints(value:Boolean):Boolean</code><p>
     Needs to be called before returning the apply() method result in classes that sub-class DataFilterBase.
     Will take in account the active and invert proprerties from the parameters
     </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">value</span>:Boolean</code> &mdash; Value that was going to be returned by the apply method
     </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Boolean</code> &mdash; Boolean indicating if the value will be filtered or not (final)
     </td>
</tr>
</table>
</div>
<a name="onFilterActiveChanged()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">onFilterActiveChanged</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function onFilterActiveChanged(event:Event = null):void</code><p>
     Event dispatched when the active property change
     </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
</div>
<a name="onFilterInvertChanged()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">onFilterInvertChanged</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function onFilterInvertChanged(event:Event = null):void</code><p>
     Event dispatched when the invert property change
     </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
</div>
<a name="onFilterKeysChanged()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">onFilterKeysChanged</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function onFilterKeysChanged(event:Event = null):void</code><p>
     Event dispatched when the keys change
     </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
</div>
<a name="onFilterOperatorChanged()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">onFilterOperatorChanged</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function onFilterOperatorChanged(event:Event = null):void</code><p>
     Event dispatched when the filter operator change
     </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
</div>
<a name="onFilterValuesChanged()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">onFilterValuesChanged</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function onFilterValuesChanged(event:Event = null):void</code><p>
     Event dispatched when the values change
     </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
</div>
<a name="refreshDataProvider()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">refreshDataProvider</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function refreshDataProvider(event:Event = null):void</code><p>
     Dispatches an event to inform the DataFilterSet that the dataprovider needs to be refreshed
     </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="DataFilterSet.html" target="">DataFilterSet</a>
</div>
</div>
<div class="detailSectionHeader">Event detail</div>
<a name="event:refreshDataProvider"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">refreshDataProvider</td><td class="detailHeaderType">event&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<span class="label">Event object type: </span><a href=""><code>flash.events.Event</code></a>
<br>
<p></p>
</div>
<a name="constantDetail"></a>
<div class="detailSectionHeader">Constant detail</div>
<a name="REFRESH_DATA_PROVIDER"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">REFRESH_DATA_PROVIDER</td><td class="detailHeaderType">constant</td>
</tr>
</table>
<div class="detailBody">
<code>public static const REFRESH_DATA_PROVIDER:String = "refreshDataProvider"</code>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
